package com.eric.uniqueid.dao;

import com.eric.uniqueid.domain.Sequence;

/**
 * @ClassName:     ISequenceDao.java
 * @author         liuq
 * @version        V1.0  
 * @Date           2019-11-8 18:05:23
 * @Description:   ISequenceDao层接口
 */
public interface ISequenceDao  {
	/**
	 * 新增信息
	 * @param sequence
	 * @return
	 */
	public int insert(Sequence sequence);
	
	/**
	 * 清空数据库表
	 */
	public void deleteAll(Sequence sequence);
	
	/**
	 * 获取下一个值
	 * @param sequence
	 * @return
	 */
	public int nextVal(Sequence sequence);
	
	/**
	 * 查询当前值
	 * @param sequence
	 * @return
	 */
	public int currVal(Sequence sequence);
	
	/**
	 * 设置指定sequence的初始值
	 * @param sequence
	 * @return
	 */
	public int setIncrement(Sequence sequence);
	
	
	/**
	 * 修改信息
	 * @param sequence
	 * @return
	 */
	public int update(Sequence sequence);
	
	
	/**
	 * 创建Sequence 管理表
	 * @return
	 */
	public void createSequence();
	
	/**
	 * 创建取当前值的函数
	 * @return
	 */
	public void createCurrval();
	
	/**
	 * 创建取下一个值的函数
	 * @return
	 */
	public void createNextval();
	
	/**
	 * 创建更新当前值的函数
	 * @return
	 */
	public void createSetval();
	
	/**
	 * 校验数据库表是否存在
	 * @Title: existTable
	 * @param tableName
	 * @return
	 */
	public Integer existTable(String tableName);
	
}